package com.kuang.linkedlist;

    /*给你单链表的头结点 head ，请你找出并返回链表的中间结点。

        如果有两个中间结点，则返回第二个中间结点。*/

/**
 * @author kjx
 */
public class MiddleNode {


    //这个应该在回文链表那个题之前做的，那个题就用到了这个题，快慢指针秒了
    public ListNode middleNode(ListNode head) {
        if (head == null || head.next == null) {
            return head;
        }
        ListNode fastNode = head, slowNode = head;
        while (fastNode != null && fastNode.next != null) {
            fastNode = fastNode.next.next;
            slowNode = slowNode.next;
        }
        return slowNode;
    }
}
